import axios from "axios";
import { Notify } from "react-vant";
// 使用由库提供的配置的默认值来创建实例
// 此时超时配置的默认值是 `0`
export const request = axios.create();

// 覆写库的超时默认值
// 现在，在超时前，所有请求都会等待 2.5 秒
request.defaults.timeout = 2500;

// 添加请求拦截器
request.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
request.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么
    const { code } = response.data;
    if (code >= 400 && code < 500) {
      Notify.show({ type: "danger", message: "客户端请求错误" });
    } else if (code >= 500) {
      Notify.show({ type: "danger", message: "服务器发生错误" });
    } else if (code === 200) {
      Notify.show({ type: "success", message: "请求成功" });
    }
    return response;
  },
  function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);


